import Vue from 'vue'
import App from './App.vue'
import router from './router'
import echarts from 'echarts'
import elementui from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css';
import axios from 'axios'
import sdk from './js/sdk'
import '@/js/flexible.js'
import dataV from '@jiaminghi/data-view'
Vue.use(dataV)

Vue.prototype.$echarts = echarts
Vue.prototype.$http = axios
Vue.prototype.sdk = sdk
Vue.config.productionTip = false
Vue.use(elementui);

router.beforeEach((to,from,next)=>{
  next();
  /* if(localStorage.getItem('token')){
    next()
  }else{
    if(to.path=='/'){
      next();
    }else{
      next('/');
    }
  } */
  /* 
    路由守卫造成死循环原因：
      如果是以下代码逻辑会造成死循环
        if(sessionStorage.getItem('token')){
          next();
        }else{
          next('/login');
        }
      这段代码乍看没有毛病，有token就过，没有就让他跳转登录页面。
      但是有一个问题，当你没有token的时候进入登录页面，路由守卫会再次触发，
      原因是没有出口，执行next('/login'})会再次执行全局前置导航守卫 
      再次判断有无token，会陷入一个新的循环。
      解决根本是 整段代码的逻辑必须是next()结尾

      if(sessionStorage.getItem('token')){
        next()
      }else{
        if(to.path=='/'){
          next();
        }else{
          next('/');
        }
      }
  */
});

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
